﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;


public class FundInfo
{
    public string? fcode { get; set; } //基金代码
    public string? fname { get; set; } //基金名称
    public string? mname { get; set; } //基金经理
    public string? grade { get; set; } //评级
    public List<Dictionary<string, object>>? increase { get; set; } //涨幅  数据形式如{"title"(周期):"Z","syl"(涨跌幅%):"7.09","avg"(同类平均):"1.61","hs300"(沪深300指数):"1.97","rank"(同类排行):"25","sc"(同类数量):"2339","diff":"296"}
    public List<Dictionary<string, object>>? VPageAcc { get; set; } //累计收益 {"PDATE":"2023-05-12","YIELD"(近1月):"0.00","INDEXYIELD"(上面所选的对比):"0.00","FUNDTYPEYIELD"(同类):"0.00","BENCHQUOTE":"0.00"}
    public List<Dictionary<string, object>>? MSNMangerAcc { get; set; } //基金经理业绩走势 {"SYI"(经理数据%):"1.53","AVGSYI"(同类平均):"1.40","INDEXSYI"(沪深300):"1.55","PDATE":"2023-05-15"}
    public Dictionary<string, object>? MSNMangerPerRank { get; set; } //基金经理业绩排行 
    /**
    *{
    *   "Datas": {
    *       "MFTYPE": "3",
    *       "W": "-1.81", // 近1周-涨跌幅
    *       "M": "8.31", // 近1月-涨跌幅
    *       "Q": "-13.22", // 近3月-涨跌幅
    *       "HY": "-20.83", // 近6月-涨跌幅
    *       "Y": "-18.43", // 近1年-涨跌幅
    *       "TWY": "-5.20", // 近2年-涨跌幅
    *       "TRY": "-15.70", // 近3年-涨跌幅
    *       "FY": "-24.00", // 近5年-涨跌幅
    *       "SY": "-23.11",
    *       "SE": "-43.30",
    *       "WRANK": "143", // 近1周-同类排行
    *       "WSC": "237", // 近1周-同类总数
    *       "MRANK": "26", // 近1月-同类排行
    *       "MSC": "238", // 近1月-同类总数
    *       "QRANK": "155", // 近3月-同类排行
    *       "QSC": "235", // 近3月-同类总数
    *       "HYRANK": "154", // 近6月-同类排行
    *       "HYSC": "221", // 近6月-同类总数
    *       "YRANK": "115", // 近1年-同类排行
    *       "YSC": "201", // 近1年-同类总数
    *       "TWYRANK": "150", // 近2年-同类排行
    *       "TWYSC": "162",// 近2年-同类总数
    *       "TRYRANK": "127", // 近3年-同类排行
    *       "TRYSC": "130",// 近3年-同类总数
    *       "FYRANK": "95", // 近5年-同类排行
    *       "FYSC": "97",// 近5年-同类总数
    *       "SYRANK": "186",
    *       "SYSC": "225",
    *       "I_W": "-1.72", // 近1周-同类平均
    *       "I_M": "5.21", // 近1月-同类平均
    *       "I_Q": "-12.58", // 近3月-同类平均
    *       "I_HY": "-18.57", // 近6月-同类平均
    *       "I_Y": "-17.38", // 近1年-同类平均
    *       "I_TWY": "14.98", // 近2年-同类平均
    *       "I_TRY": "29.76", // 近3年-同类平均
    *       "I_FY": "28.14", // 近5年-同类平均
    *       "I_SY": "-19.00"
    *   }
    *}
    */
    public List<Dictionary<string, object>>? fundMSNMangerProContr { get; set; } //基金经理持仓历史管理资金 https://kouchao.github.io/TiantianFundApi/apis/#%E8%8E%B7%E5%8F%96%E5%9F%BA%E9%87%91%E7%BB%8F%E7%90%86%E6%8C%81%E4%BB%93%E5%8E%86%E5%8F%B2%E7%AE%A1%E7%90%86%E8%B5%84%E9%87%91

    public FundInfo(List<List<Dictionary<string, object>>> list)
    {
        this.fcode = (string?)list[0][0]["FCODE"];
        this.fname = (string?)list[0][0]["FULLNAME"];
        this.mname = (string?)list[0][0]["JJJL"];
        this.increase = list[3];
        this.VPageAcc = list[4];
        this.MSNMangerAcc = list[5];
        this.MSNMangerPerRank = list[6][0];
        this.fundMSNMangerProContr = list[7];
        Dictionary<string, object> dic = list[2][0];
        if (!dic["ZSPJ"].Equals(""))
        {
            this.grade = "招商证券评级：" + dic["ZSPJ"];
        }
        else if (!dic["SZPJ3"].Equals(""))
        {
            this.grade = "上海证券评级：" + dic["SZPJ3"];
        }
        else if (!dic["JAPJ"].Equals(""))
        {
            this.grade = "济安金信评级：" + dic["JAPJ"];
        }
        else
        {
            this.grade = "暂无评级";
        }
    }
}